package model.common.multiplicity;

import model.common.root.Element;

public abstract class MultiplicityElement extends Element {

	// Attributes
	private static final boolean DEFAULT_IS_ORDERED = false;
	
	private boolean isOrdered = DEFAULT_IS_ORDERED;
	
	private static final boolean DEFAULT_IS_UNIQUE = true;
	
	private boolean isUnique = DEFAULT_IS_UNIQUE;
	
	private int lower;
	
	/** Upper value can be infinite. As infinite value does not exists in integers 
	 * the convention will be to use Integer.MAX_VALUE as infinite. */
	private int upper;
	
	public final static int INFINITE = Integer.MAX_VALUE;
	
	private ValueSpecification lowerValue = null;
	
	private ValueSpecification upperValue = null;
	
}
